//package com.ditri;
//
//import com.baomidou.mybatisplus.annotation.DbType;
//import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
//import com.baomidou.mybatisplus.core.toolkit.StringPool;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.baomidou.mybatisplus.generator.AutoGenerator;
//import com.baomidou.mybatisplus.generator.InjectionConfig;
//import com.baomidou.mybatisplus.generator.config.*;
//import com.baomidou.mybatisplus.generator.config.po.LikeTable;
//import com.baomidou.mybatisplus.generator.config.po.TableInfo;
//import com.baomidou.mybatisplus.generator.config.rules.DateType;
//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
//import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Scanner;
//
///**
// * @author: edxuanlen
// * @date: 2020-07-29 15:01
// * @version: 1.0
// **/
//public class CodeGenerator {
//
//	public static void main(String[] args){
//		// 1、创建代码生成器
//		AutoGenerator mpg = new AutoGenerator();
//
//		// 2、全局配置
//		GlobalConfig gc = new GlobalConfig();
//		String projectPath = System.getProperty("user.dir");
//		//本地项目的绝对路径
//		gc.setOutputDir("D:\\IdeaProjects\\EDplatform\\mybatis-plus" + "\\src\\main\\java");
//
//		//添加注释
//		gc.setAuthor("edxuanlen");
//		gc.setOpen(false);                  //生成后是否打开资源管理器
//		gc.setFileOverride(false);          //重新生成时文件是否覆盖
//		//比如默认IUserService去掉I
//		gc.setServiceName("%sService");	    //去掉Service接口的首字母I
//
//		gc.setIdType(IdType.AUTO);      //主键策略
//		gc.setDateType(DateType.ONLY_DATE);  //定义生成的实体类中日期类型
//		gc.setSwagger2(false);                //不开启Swagger2模式
//
//
//		mpg.setGlobalConfig(gc);
//
//		// 3、数据源配置
//		DataSourceConfig dsc = new DataSourceConfig();
//		dsc.setUrl("jdbc:mysql://120.79.224.142:3306/distrident?useSSL=false");
//		dsc.setDriverName("com.mysql.jc.jdbc.Driver");
//		dsc.setUsername("admin");
//		dsc.setPassword("123456");
//		dsc.setDbType(DbType.MYSQL);
//		mpg.setDataSource(dsc);
//
//		// 4、包配置
//		PackageConfig pc = new PackageConfig();
//		pc.setModuleName("blog"); //模块名
//		pc.setParent("com.ditri");
//		pc.setController("controller");
//		pc.setEntity("po");
//		pc.setService("service");
//		pc.setMapper("mapper");
//		mpg.setPackageInfo(pc);
//
//		// 5、策略配置
//		StrategyConfig strategy = new StrategyConfig();
//		//表名称修改
////		strategy.setInclude("crm_user");
//
////		strategy.setLikeTable(new LikeTable("blog"));
//		strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
////		strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
//		strategy.setEntityLombokModel(true);
//		strategy.setRestControllerStyle(true);
////		strategy.setSuperEntityColumns("id");
//
//		try {
//			strategy.setSuperEntityClass(Class.forName("com.ditri.common.entity.BasicEntity"));
//		} catch (ClassNotFoundException e) {
//			e.printStackTrace();
//		}
//
//		strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
//		strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
//
//		strategy.setRestControllerStyle(true); //restful api风格控制器
//		strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
//
//		mpg.setStrategy(strategy);
//
//		mpg.setTemplateEngine(new FreemarkerTemplateEngine());
//
//		// 6、执行
//		mpg.execute();
//	}
//}